unit uDmNf;

interface

uses
  SysUtils, Classes, FMTBcd, DB, SqlExpr, Provider, WideStrings, DBXFirebird, DBClient,
  TConnect, IBDatabase, IBDatabaseINI, IBCustomDataSet;

type
  TdmNF = class(TDataModule)
    dtsCad_Clientes: TSQLDataSet;
    dtsCad_ClientesID_CLIENTE: TIntegerField;
    dtsCad_ClientesCPF_CNPJ: TStringField;
    dtsCad_ClientesNOME: TStringField;
    dtsCad_ClientesNOME_FANTASIA: TStringField;
    dtsCad_ClientesINSC_SUFRAMA: TStringField;
    dtsCad_ClientesIE: TStringField;
    dtsCad_ClientesTP_PESSOA: TStringField;
    dtsCad_ClientesTELEFONE: TStringField;
    dtsCad_ClientesPAIS: TStringField;
    dtsCad_ClientesCOD_PAIS: TStringField;
    dtsCad_ClientesCEP: TStringField;
    dtsCad_ClientesUF: TStringField;
    dtsCad_ClientesMUNICIPIO: TStringField;
    dtsCad_ClientesCOD_MUNICIPIO: TStringField;
    dtsCad_ClientesBAIRRO: TStringField;
    dtsCad_ClientesCOMPLEMENTO: TStringField;
    dtsCad_ClientesNUMERO: TStringField;
    dtsCad_ClientesLOGRADOURO: TStringField;
    dtsCad_Transportadora: TSQLDataSet;
    dtsCad_TransportadoraID_TRANSPORTADORA: TIntegerField;
    dtsCad_TransportadoraCPF_CNPJ: TStringField;
    dtsCad_TransportadoraNOME: TStringField;
    dtsCad_TransportadoraMUNICIPIO: TStringField;
    dtsCad_TransportadoraUF: TStringField;
    dtsCad_TransportadoraENDERECO: TStringField;
    dtsCad_TransportadoraIE: TStringField;
    dspCad_Transportadora: TDataSetProvider;
    dtsCad_Emitente: TSQLDataSet;
    dtsCad_EmitenteID_EMITENTE: TIntegerField;
    dtsCad_EmitenteCNAE: TStringField;
    dtsCad_EmitenteINSC_MUNICIPAL: TStringField;
    dtsCad_EmitenteINSC_ESTADUAL: TStringField;
    dtsCad_EmitenteNOME_FANTASIA: TStringField;
    dtsCad_EmitenteRAZAO_SOCIAL: TStringField;
    dtsCad_EmitenteCNPJ: TStringField;
    dtsCad_EmitenteBAIRRO: TStringField;
    dtsCad_EmitenteCOMPLEMENTO: TStringField;
    dtsCad_EmitenteNUMERO: TStringField;
    dtsCad_EmitenteLOGRADOURO: TStringField;
    dtsCad_EmitenteUF: TStringField;
    dtsCad_EmitenteMUNICIPIO: TStringField;
    dtsCad_EmitenteCOD_MUNICIPIO: TStringField;
    dtsCad_EmitenteCOD_PAIS: TStringField;
    dtsCad_EmitenteCEP: TStringField;
    dtsCad_EmitentePAIS: TStringField;
    dtsCad_EmitenteTELEFONE: TStringField;
    dspCad_Emitente: TDataSetProvider;
    dspCad_Cliente: TDataSetProvider;
    dtsNF_CLIENTE: TSQLDataSet;
    dtsNF_CLIENTEID_NOTA_FISCAL: TIntegerField;
    dtsNF_CLIENTECPF_CNPJ: TStringField;
    dtsNF_CLIENTETIPO_PESSOA: TSmallintField;
    dtsNF_CLIENTENOME: TStringField;
    dtsNF_CLIENTEIE: TStringField;
    dtsNF_CLIENTELOGRADOURO: TStringField;
    dtsNF_CLIENTEINSC_SUFRAMA: TStringField;
    dtsNF_CLIENTECOMPLEMENTO: TStringField;
    dtsNF_CLIENTEBAIRRO: TStringField;
    dtsNF_CLIENTENUMERO: TStringField;
    dtsNF_CLIENTETELEFONE: TStringField;
    dtsNF_CLIENTENM_PAIS: TStringField;
    dtsNF_CLIENTECOD_PAIS: TStringField;
    dtsNF_CLIENTECEP: TStringField;
    dtsNF_CLIENTEUF: TStringField;
    dtsNF_CLIENTENM_MUNICIPIO: TStringField;
    dtsNF_CLIENTECOD_MUNICIPIO: TStringField;
    dtsNF_Local_Entrega: TSQLDataSet;
    dtsNF_Local_EntregaID_NOTA_FISCAL: TIntegerField;
    dtsNF_Local_EntregaCNPJ: TStringField;
    dtsNF_Local_EntregaUF: TStringField;
    dtsNF_Local_EntregaNM_MUNICIPIO: TStringField;
    dtsNF_Local_EntregaCOD_MUNICIPIO: TStringField;
    dtsNF_Local_EntregaBAIRRO: TStringField;
    dtsNF_Local_EntregaCOMPLEMENTO: TStringField;
    dtsNF_Local_EntregaNUMERO: TStringField;
    dtsNF_Local_EntregaLOGRADOURO: TStringField;
    dsNF_Nota: TDataSource;
    dtsNF_Trasporte: TSQLDataSet;
    dtsNF_TrasporteID_NOTA_FISCAL: TIntegerField;
    dtsNF_TrasporteNM_MUNICIPIO: TStringField;
    dtsNF_TrasporteUF: TStringField;
    dtsNF_TrasporteENDERECO: TStringField;
    dtsNF_TrasporteIE: TStringField;
    dtsNF_TrasporteNOME: TStringField;
    dtsNF_TrasporteCNPJ_TRANS: TStringField;
    dtsNF_TrasporteMOD_FRETE: TSmallintField;
    dtsNF_Totais: TSQLDataSet;
    dtsNF_TotaisID_NOTA_FISCAL: TIntegerField;
    dtsNF_Situacao: TSQLDataSet;
    dtsNF_SituacaoID_NOTA_FISCAL: TIntegerField;
    dtsNF_SituacaoCOD_SITUACAO: TIntegerField;
    dtsNF_SituacaoDT_SITUACAO: TSQLTimeStampField;
    dts_NF_Referenciada: TSQLDataSet;
    dts_NF_ReferenciadaID_NOTA_FISCAL: TIntegerField;
    dts_NF_ReferenciadaNUMERO: TStringField;
    dts_NF_ReferenciadaSERIE: TStringField;
    dts_NF_ReferenciadaMODELO: TStringField;
    dts_NF_ReferenciadaCHAVE_NF_REF: TStringField;
    dts_NF_ReferenciadaCNPJ: TStringField;
    dts_NF_ReferenciadaANO_MES: TStringField;
    dts_NF_ReferenciadaUF: TStringField;
    dtsNF_Local_Retirada: TSQLDataSet;
    dtsNF_Local_RetiradaID_NOTA_FISCAL: TIntegerField;
    dtsNF_Local_RetiradaCNPJ: TStringField;
    dtsNF_Local_RetiradaUF: TStringField;
    dtsNF_Local_RetiradaNM_MUNICIPIO: TStringField;
    dtsNF_Local_RetiradaCOD_MUNICIPIO: TStringField;
    dtsNF_Local_RetiradaBAIRRO: TStringField;
    dtsNF_Local_RetiradaCOMPLEMENTO: TStringField;
    dtsNF_Local_RetiradaNUMERO: TStringField;
    dtsNF_Local_RetiradaLOGRADOURO: TStringField;
    dtsNF_Inf_Adicional: TSQLDataSet;
    dtsNF_Inf_AdicionalID_NOTA_FISCAL: TIntegerField;
    dtsNF_Exportacao: TSQLDataSet;
    dtsNF_ExportacaoID_NOTA_FISCAL: TIntegerField;
    dtsNF_Emitente: TSQLDataSet;
    dtsNF_EmitenteID_NOTA_FISCAL: TIntegerField;
    dtsNF_EmitenteTELEFONE: TStringField;
    dtsNF_EmitenteNM_PAIS: TStringField;
    dtsNF_EmitenteOD_PAIS: TStringField;
    dtsNF_EmitenteCEP: TStringField;
    dtsNF_EmitenteUF: TStringField;
    dtsNF_EmitenteNM_MUNICIPIO: TStringField;
    dtsNF_EmitenteCOD_MUNICIPIO: TStringField;
    dtsNF_EmitenteBAIRRO: TStringField;
    dtsNF_EmitenteCOMPLEMENTO: TStringField;
    dtsNF_EmitenteNUMERO: TStringField;
    dtsNF_EmitenteLOGRADOURO: TStringField;
    dtsNF_EmitenteCNAE: TStringField;
    dtsNF_EmitenteIM: TStringField;
    dtsNF_EmitenteIE_ST: TStringField;
    dtsNF_EmitenteIE: TStringField;
    dtsNF_EmitenteCNPJ: TStringField;
    dtsNF_EmitenteNM_FANTASIA: TStringField;
    dtsNF_EmitenteRAZAO_SOCIAL: TStringField;
    dtsNF_Cobranca: TSQLDataSet;
    dtsNF_CobrancaID_NOTA_FISCAL: TIntegerField;
    dtsNF_Produtos: TSQLDataSet;
    dtsNF_ProdutosID_ITEM: TIntegerField;
    dtsNF_ProdutosID_NOTA_FISCAL: TIntegerField;
    dtsNF_ProdutosNCM: TStringField;
    dtsNF_ProdutosDESCRICAO: TStringField;
    dtsNF_ProdutosEAN: TStringField;
    dtsNF_ProdutosCODIGO: TStringField;
    dtsNF_ProdutosINFO_ADICIONAL: TStringField;
    dtsNF_ProdutosVLR_TOTAL: TFMTBCDField;
    dtsNF_ProdutosVLR_UN_COMERCIAL: TFMTBCDField;
    dtsNF_ProdutosQTDE_COMERCIAL: TFMTBCDField;
    dtsNF_ProdutosUN_COMERCIAL: TStringField;
    dtsNF_ProdutosCFOP: TStringField;
    dtsNF_ProdutosGENERO: TStringField;
    dtsNF_ProdutosEX_TIPI: TStringField;
    dtsNF_ProdutosVLR_SEGURO: TFMTBCDField;
    dtsNF_ProdutosVLR_FRETE: TFMTBCDField;
    dtsNF_ProdutosVLR_UN_TRIB: TFMTBCDField;
    dtsNF_ProdutosQTDE_UN_TRIB: TFMTBCDField;
    dtsNF_ProdutosUN_TRIB: TStringField;
    dtsNF_ProdutosEAN_TRIB: TStringField;
    dtsNF_ProdutosVLR_DESCONTO: TFMTBCDField;
    dspNF_Nota: TDataSetProvider;
    dtsNF_Nota: TSQLDataSet;
    dtsNF_NotaID_NOTA_FISCAL: TIntegerField;
    dtsNF_NotaUF_EMITENTE: TStringField;
    dtsNF_NotaDT_EMISSAO: TDateField;
    dtsNF_NotaFORMA_PAGTO: TSmallintField;
    dtsNF_NotaDESC_NAT_OP: TStringField;
    dtsNF_NotaSERIE_DOC: TStringField;
    dtsNF_NotaNUMERO_DOC: TStringField;
    dtsNF_NotaFORMA_EMISSAO: TSmallintField;
    dtsNF_NotaTIPO_IMPRESSAO: TSmallintField;
    dtsNF_NotaCOD_MUNICIPIO: TStringField;
    dtsNF_NotaDT_SAIDA_ENTRAD: TDateField;
    dtsNF_NotaFINALIDADE_EMISSAO: TSmallintField;
    dtsNF_NotaMODELO: TStringField;
    dtsNF_NotaCID_NOTA_FISCAL: TIntegerField;
    dtsNF_NotaTIPO_OPERACAO: TSmallintField;
    dtsNF_NotaHORA_ENT_SAI: TStringField;
    dtsNF_NotaCODIGO_ACESSO: TStringField;
    dtsNF_NotaCHAVE_ACESSO: TStringField;
    dtsNF_NotaVERSAO_LAYOUT: TFMTBCDField;
    NfConn: TSQLConnection;
    LocalConnection: TLocalConnection;
    dtsCad_EmitenteINSC_ESTADUAL_ST: TStringField;
  private
    { Private declarations }
  public
    { Public declarations }
     function autoInc(GenName: string): Integer;
  end;

var
  dmNF: TdmNF;

implementation



{$R *.dfm}

{ TdmNF }

function TdmNF.autoInc(GenName: string): Integer;
var
  qry: TSQLQuery;
begin
  try
    qry := TSQLQuery.Create(Self);
    qry.SQLConnection:=NfConn;
    qry.CommandText:='SELECT GEN_ID('+genName+', 1) FROM RDB$DATABASE';
    qry.Open;
    Result:=qry.Fields[0].AsInteger;
  finally
    qry.Free;
  end;
end;

end.
